package com.ht.api.bigtask.impl.qywx;

import com.ht.api.bigtask.BaseBigTask;
import com.ht.api.db.Db;
import com.ht.api.db.Entity;
import com.ht.api.open.OpenUtil;

import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import lombok.extern.slf4j.Slf4j;

/**
 * 大任务：【企业微信】获取企业标签库
 * @author asq
 * @createTime 2025年3月2日 14:07:43
 */
@Slf4j
public class QueryTagListTask extends BaseBigTask {
	/** 接口ID：获取企业标签库 */
	protected static final long API_ID = 1896075908998107136L;

	@Override
	protected void doExecute(String appId, JSONObject context, Entity bean) {
		long t = System.currentTimeMillis();
		JSONObject paramJson = JSONUtil.createObj();
		String str = OpenUtil.call(appId, API_ID, paramJson);

		// 写入租户库的open_data表
		if (!isOver()) {
			JSONObject entity = JSONUtil.parseObj(str);
			JSONArray tagGroupList = entity.getJSONArray("tag_group");
			if (!tagGroupList.isEmpty()) {
				Db.insert(getTenantDs(appId), createOpenDataEntity(appId, API_ID, entity));
			}
		} else {
			log.info("[BigTask]本任务已完成，不再写数据库，任务名：QueryTagListTask，【企业微信】获取企业标签库");
		}
		
		log.info("[BigTask]完成【企业微信】获取企业标签库，耗时：{}ms", (System.currentTimeMillis() - t));
	}
}
